home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / linux / dnotify.h < prev    next >
C/C++ Source or Header  |  2005-10-13  |  1KB  |  64 lines

  1. #ifndef _LINUX_DNOTIFY_H
  2. #define _LINUX_DNOTIFY_H
  3. /*
  4.  * Directory notification for Linux
  5.  *
  6.  * Copyright (C) 2000,2002 Stephen Rothwell
  7.  */
  8.  
  9. #include <linux/fs.h>
  10.  
  11. struct dnotify_struct {
  12.     struct dnotify_struct *    dn_next;
  13.     unsigned long        dn_mask;
  14.     int            dn_fd;
  15.     struct file *        dn_filp;
  16.     fl_owner_t        dn_owner;
  17. };
  18.  
  19. #ifdef __KERNEL__
  20.  
  21. #include <linux/config.h>
  22.  
  23. #ifdef CONFIG_DNOTIFY
  24.  
  25. extern void __inode_dir_notify(struct inode *, unsigned long);
  26. extern void dnotify_flush(struct file *, fl_owner_t);
  27. extern int fcntl_dirnotify(int, struct file *, unsigned long);
  28. extern void dnotify_parent(struct dentry *, unsigned long);
  29.  
  30. static inline void inode_dir_notify(struct inode *inode, unsigned long event)
  31. {
  32.     if (inode->i_dnotify_mask & (event))
  33.         __inode_dir_notify(inode, event);
  34. }
  35.  
  36. #else
  37.  
  38. static inline void __inode_dir_notify(struct inode *inode, unsigned long event)
  39. {
  40. }
  41.  
  42. static inline void dnotify_flush(struct file *filp, fl_owner_t id)
  43. {
  44. }
  45.  
  46. static inline int fcntl_dirnotify(int fd, struct file *filp, unsigned long arg)
  47. {
  48.     return -EINVAL;
  49. }
  50.  
  51. static inline void dnotify_parent(struct dentry *dentry, unsigned long event)
  52. {
  53. }
  54.  
  55. static inline void inode_dir_notify(struct inode *inode, unsigned long event)
  56. {
  57. }
  58.  
  59. #endif /* CONFIG_DNOTIFY */
  60.  
  61. #endif /* __KERNEL __ */
  62.  
  63. #endif /* _LINUX_DNOTIFY_H */
  64.